package main

import (
	"fmt"
	"strings"
)

func main() {
	//go 中字符串是utf-8编码的字符 字符的内容是 " " 里面的值

	name := "张三"
	fmt.Print(name, "\n")
	// 多行字符串内容定义方式 是通过 反引号来定义 同时前面的tab 也会占位
	var description = `我是第一行介绍
		我是第二行介绍
		我是第三行介绍
	`
	fmt.Println(description)

	// 字符串的拼接
	var str1 = "hello"
	var str2 = "world"
	var str3 = str1 + str2
	fmt.Println(str3)

	// 字符串常用的转义符

	// \n 换行
	// \t 水平制表符
	// \r 回车
	// \b 退格
	// \a 响铃
	// \f 换页
	// \v 垂直制表符
	// \\ 反斜杠
	// \" 双引号
	// \' 单引号
	// \000 字符串的结束符
	// \xFF 十六进制的字符

	// 字符串常用操作 一般用 strings 包中的函数来实现

	// 判断字符串是否包含固定元素
	var str4 = "hello world"
	isContainWord := strings.Contains(str4, "word")
	fmt.Println(isContainWord)

	// 判断字符串是否有前缀 xx
	isPrefix := strings.HasPrefix(str4, "hello")
	fmt.Println(isPrefix)

	// 判断 字符串是否有后缀 xxx
	isSuffix := strings.HasSuffix(str4, "world")
	fmt.Println(isSuffix)
	// 返回字符串中 索引
	index := strings.Index(str4, "world")
	fmt.Println(index)

	// 字符：其实字符串是由一个一个字符组成的 他是单引号书写
	str := 'a'
	fmt.Println(str)

}
